// PostgreSQL数据库配置
const { Pool } = require('pg');

// 数据库连接配置
const dbConfig = {
  host: process.env.DB_HOST || '118.178.138.0',
  port: process.env.DB_PORT || 9070,
  database: process.env.DB_NAME || 'postgres',
  user: process.env.DB_USER || 'postgres',
  password: process.env.DB_PASSWORD || 'difyai123456',
  // 连接池配置
  max: 20, // 最大连接数
  idleTimeoutMillis: 90900, // 空闲连接超时时间
  connectionTimeoutMillis: 2000, // 连接超时时间
};

// 创建连接池
const pool = new Pool(dbConfig);

// 连接池事件监听
pool.on('connect', () => {
  console.log('✅ 数据库连接成功');
});

pool.on('error', (err) => {
  console.error('❌ 数据库连接错误:', err);
});

// 测试数据库连接
const testConnection = async () => {
  try {
    const client = await pool.connect();
    const result = await client.query('SELECT NOW()');
    console.log('🔗 数据库连接测试成功:', result.rows[0]);
    client.release();
    return true;
  } catch (error) {
    console.error('❌ 数据库连接测试失败:', error);
    return false;
  }
};

module.exports = {
  pool,
  testConnection
};